A computer network is a collection of interconnected computing devices that exchange data and share resources. In a packet-based network, such as the Internet, the computing devices communicate data by dividing the data into small blocks called packets. The packets are individually routed across the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form. Dividing the data into packets enables the source device to resend only those individual packets that may be lost during transmission.
Packet-based computer network increasingly utilize label switching protocols for traffic engineering and other purposes. In a label switching network, network devices, often referred to as Label Switching Routers or LSRs, use Multi-Protocol Label Switching (MPLS) signaling protocols to establish Label Switched Paths (LSPs). The LSRs utilize these MPLS protocols to receive MPLS label mappings from downstream LSRs and to advertise MPLS label mappings to upstream LSRs. When an LSR receives an MPLS packet from an upstream router, it switches the MPLS label according to the information in its forwarding table and forwards the packet to the appropriate downstream LSR. In some cases, upstream label allocation may be used.
Typically, LSRs at the edge of the MPLS network, referred to as Label Edge Routers (LERs), establish paths through the MPLS network in accordance with the MPLS signaling protocols. LERs may forward signaling messages throughout the network to distribute the appropriate labels in accordance with the MPLS signaling protocol. The LSRs, which typically reside at the core of the MPLS network, along a given path may then update their respective forwarding tables with the appropriate labels. Often LSRs update the forwarding tables to indicate whether to append, swap or remove one of the labels corresponding to a given path.
Upon receiving a unit of data, such as an IP packet, entering the MPLS network, LERs may then inspect the packet, pre-pend one or more MPLS labels to the packet based on the result of the inspection, and forward the packet via the LSP associated with the label. Upon receiving the labeled packet, downstream LSRs may append an additional label, swap labels or remove the label based on the LSR's forwarding table. The LSR however need not inspect the MPLS packet but may instead base forwarding strictly on the one or more MPLS labels included within a label stack pre-pended to the packet. In this respect, the LSR may perform protocol-independent forwarding and may be used to encapsulate other types of packets. As a result, the LSRs may, by forgoing detailed packet inspection, more efficiently and quickly forward packets throughout the MPLS network.